查看原文
其他

Stata16新功能之html2docx和docx2pdf

爬虫俱乐部 Stata and Python数据分析 2022-03-15

本文作者:李朋冲

文字编辑:王碧琪

技术总编:李朋冲


2019年6月26日,Stata公司发布了Stata16版本,爬虫俱乐部为了方便广大读者了解Stata16相比于Stata15.1的变化,将推出新功能的系列介绍。今天我们开启系列的第一篇,介绍两个新命令——html2docx和docx2pdf。

Stata让人喜欢的一个很大原因就是,命令的名称一般都反映了它主要的功能。像本文将要介绍的这两个命令,前者是把html文件转换成docx文件,后者是把docx文件转换成pdf文件。当然,在Stata15.1版本中,用户可以使用爬虫俱乐部编写的wordconvert命令把pdf文档转换成docx文档。

在后续的推文中,我们还会介绍dyndoc、markdown、putdocx等一系列涉及文本转换、文本自动化输出的命令。这些命令相应地在Stata16版本中得到了更新,我们会一一介绍,以方便读者做出更漂亮、可重复的自动化报告!

爬虫俱乐部将于2019年8月22日至28日湖北武汉举行为期一周的Stata编程技术定制培训,此次培训采用Stata16进行讲解,采取初级班和高级班分批次培训。课程通过案例教学模式,旨在帮助大家在短期内掌握Stata软件编程、金融计量知识和实证分析方法,使大家熟悉Stata核心的爬虫技术,以及Stata与其他软件交互的高端技术。目前正在火热招生中~

详细培训大纲及报名方式,请点击文末阅读原文呦~


下面我们来介绍这两个命令。

html2docx命令

该命令可以把html文件转换成docx文件,这些html文件可以是磁盘上的文件——“课堂常备知识手册一览表.html”(该文件是7月5日爬虫俱乐部Python培训的课堂资料),也可以是网站里的一个网页——

https://www.stata-press.com/data/r16/reporting/graphs.html”(我们稍后将用到该网页)。

命令的语法形式如下:

html2docx srcfile [, options]

srcfile:即sourcefile,可以是本地文件,也可以是URL(如上)。如果未指明文件扩展名,则默认的是html文件。如果文件名中有空格或者其他特殊字符,则需要用英文状态下的双引号把文件名引起来。

选项包含:saving()、replace、nomsg和base()。

如果srcfile是磁盘上的html文件,则可不加saving()选项;如果srcfile是网站的URL,则必须加上saving()选项,括号中是docx的文件名。

base()把srcfile中的相对链接补全成绝对链接。

首先我们对磁盘上的html文件进行转换,程序及结果如下:

clearcap mkdir e:/stata16测试/cd e:/stata16测试/html2docx "D:\Stata16\课堂常备知识手册一览表.html", replace saving("python培训基础资料")shellout python培训基础资料.docx

我们来看下转换的结果:

上图为html截图,下图为转换后的docx文件截图。当然,对于某些html元素,该命令是无法将其百分百转换到docx中的,还需要一定的清洗工作。

如果不加saving()选项,则会默认生成一个与磁盘html文件同名的docx文件,运行以下程序,结果如图所示:

html2docx "D:\Stata16\课堂常备知识手册一览表.html", replace

接下来我们对网站网页进行转换,我们以“https://www.stata-press.com/data/r16/reporting/graphs.html”为例进行说明。

该网页上显示了使用auto.dta绘制散点图及拟合图的程序及对应图片,我们使用如下程序将该网页上的内容导出到docx文档之中,截图如下:

html2docx"https://www.stata-press.com/data/r16/reporting/graphs.html", replace saving("graph.docx")shellout graph.docx

读者可自行对比原网页内容与docx文档内容,转换效率还是非常高的!

以上是对于html2docx命令的介绍。当我们想把一个html文件转换成pdf文件时,可先使用html2docx命令将html转换成docx,再使用docx2pdf命令将docx转换成pdf。

docx2pdf命令

docx2pdf的语法非常简单,与html2docx十分相似:

docx2pdf srcfile [, options]

srcfile和options的使用方法参见html2docx命令中的介绍。下面我们直接举例来说明。在上面的介绍中,我们得到了graph.docx,通过docx2pdf命令,将其转换成pdf文档:

docx2pdf "graph.docx",saving("graph.pdf") replaceshellout graph.pdf

转换非常成功。当然,如果要将动态Markdown文档转换为pdf文件,可以使用dyndoc命令创建docx文档,然后使用docx2pdf命令将该docx文档转换为pdf文件。如果想要把Stata结果或者图片嵌入到pdf文档,也可以使用putpdf命令。我们也会在后续的推文中介绍这些方法。

以上就是对于Stata16新发布的html2docx和docx2pdf命令的介绍,希望可以帮助到大家。爬虫俱乐部将在2019年8月22日举办的Stata训练营中使用Stata16进行讲解,我们欢迎各位读者一同参与到这项学习中来!

对爬虫俱乐部的推文累计打赏超过1000元我们即可给您开具发票,发票类别为“咨询费”。用心做事,只为做您更贴心的小爬虫!

往期推文推荐

        do文件中的“post”命令——无处可藏

        字符型日期与数值型日期处理

        xhtml2pdf生成PDF

关于我们

微信公众号“爬虫俱乐部”分享实用的stata命令,欢迎转载、打赏。爬虫俱乐部是由李春涛教授领导下的研究生及本科生组成的大数据分析和数据挖掘团队。

此外,欢迎大家踊跃投稿,介绍一些关于stata的数据处理和分析技巧。

投稿邮箱:statatraining@163.com

投稿要求:
1)必须原创,禁止抄袭;
2)必须准确,详细,有例子,有截图;
注意事项:
1)所有投稿都会经过本公众号运营团队成员的审核,审核通过才可录用,一经录用,会在该推文里为作者署名,并有赏金分成。
2)邮件请注明投稿,邮件名称为“投稿+推文名称”。
3)应广大读者要求,现开通有偿问答服务,如果大家遇到关于stata分析数据的问题,可以在公众号中提出,只需支付少量赏金,我们会在后期的推文里给予解答。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存